home *** CD-ROM | disk | FTP | other *** search
/ Amiga CD32 Gamer 19 / CD32 Gamer - 1995 - Issue 19.iso / fli / flick.doc < prev    next >
Text File  |  1995-05-21  |  13KB  |  388 lines

  1.  
  2.         FLICK FLI-format Animation Viewer v1.5          21 May 1995
  3.         --------------------------------------
  4.  
  5.  
  6. This program plays FLI/FLC-format bitmapped animation files on any
  7. OCS, ECS or AGA Amiga running OS2.04 or higher.  It also works with
  8. the EGS system and CyBERgraphics, and should work with other graphics
  9. cards.
  10.  
  11. FLI/FLC-format files are produced by Autodesk Animator (Pro) and
  12. Autodesk 3D Studio on a PC, as well as by other programs.
  13.  
  14. The files in this archive may be distributed anywhere provided they are
  15. unmodified and are not sold for profit.
  16.  
  17. Ownership and copyright of all files remains with the author:
  18.  
  19.     Peter McGavin, 86 Totara Crescent, Lower Hutt, New Zealand.
  20.     e-mail: peterm@maths.grace.cri.nz
  21.  
  22.  
  23. FEATURES:
  24. ---------
  25.  
  26. Supports EGS libraries.  Uses a ScreenMode requester and runs in a
  27. draggable, overlappable window in this case.
  28.  
  29. Works with CyBERgraphics and third-party graphics cards with the ROM
  30. option.  Uses a ScreenMode requester in this case.
  31.  
  32. Uses AGA 256-colour screen when AGA is available.
  33.  
  34. Extra-Half-Brite screen (EHB) allows reasonably good colour
  35. approximation on OCS/ECS Amigas.
  36.  
  37. 16-colour screen (COLOUR4) allows reasonably good colour approximation
  38. on OCS/ECS Amigas in hi-res (and it's usually faster than 256-colour).
  39.  
  40. Falls back to EHB (lo-res) or COLOUR4 (hi-res) when EGS or AGA are not
  41. available.
  42.  
  43. Uses an Intuition-friendly Screen.  You can flip it to the back, or
  44. drag it down in the usual way, while an animation is playing.
  45.  
  46. Plays either from ram or directly from disk.  Falls back to disk play
  47. when not enough ram is available.
  48.  
  49. Works with any size or resolution FLI/FLC file.
  50.  
  51. Supports double-buffering.  The latest OS3.0 double-buffering
  52. functions are used if possible.
  53.  
  54. Uses state-of-the-art chunky-to-planar routines in Amiga native modes.
  55. Achieves typically 90 frames/second in WARP mode on an A4000/040.
  56.  
  57. Detects and uses Akiko chip on CD32 for typically 40 frames/second.
  58.  
  59. Uses ASL file-requester.
  60.  
  61. Runs from either icon or shell.  Uses icon tooltypes for options (i.e,
  62. WorkBench Icons/Information... menu item).
  63.  
  64. Source code is included, so if something doesn't work you can fix it.
  65.  
  66.  
  67. OPERATION:
  68. ----------
  69.  
  70. I've tried to make it easy to use in many different ways.
  71.  
  72. Just double-click the FLICK icon and select an anim to play from the
  73. requester.
  74.  
  75. Alternatively you can set up project icons for your anims (e.g, with
  76. IconEdit).
  77.  
  78. Options can be specified either on the commandline or in icon
  79. tooltypes.  You can set default tooltypes in the program icon and
  80. override them temporarily with tooltypes in any project icon.
  81.  
  82. From the SHELL or CLI, the syntax is:
  83.  
  84.    FLICK FILE/M,DISK/S,RAM/S,ONCE/S,COLOUR/S,EHB/S,COLOUR4/S,GREY/S,
  85.          EGS/S,ROM/S,DBUF/S,WARP/S,NOAKIKO/S
  86.  
  87. If you don't specify a file, the file-requester pops up.
  88.  
  89. You can specify a list of files, separated by spaces.  However #?
  90. wildcards don't work.
  91.  
  92. Options are:
  93.  
  94.     DISK:        Plays from disk (i.e, plays while reading).
  95.  
  96.     RAM (default):    Plays from RAM (i.e, loads first, then plays).
  97.  
  98.     ONCE:        Play once, then quit.  (Default is to loop).
  99.  
  100.     COLOUR (default): AGA 8-bitplane 256-colour mode.
  101.  
  102.     EHB:        Extra-Half-Brite 6-bitplane mode.
  103.  
  104.     COLOUR4:    4-bitplane 16-colour mode (usually faster).
  105.  
  106.     GREY:        4-bitplane 16-grey-scale mode (usually fastest).
  107.  
  108.     EGS:        Use EGS libraries (default when EGS libs are found).
  109.  
  110.     ROM:        Uses a ScreenMode requester and WritePixelArray8().
  111.  
  112.     DBUF:        Double-buffer.  Default is not to double buffer.
  113.  
  114.     WARP:        Plays real fast.  Default speed is what anim says.
  115.  
  116.     NOAKIKO:    Do not use Akiko even if it is available
  117.  
  118. The options COLOUR, EHB, COLOUR4, GREY and EGS are mutually exclusive.
  119.  
  120. The ROM and DBUF options have no effect with EGS.
  121.  
  122.  
  123. KEYBOARD AND MOUSE CONTROLS
  124. ---------------------------
  125.  
  126. To quit an animation, press ESC, Q, q or CTRL/C, or click the right
  127. mouse button.  (In EGS mode, the right mouse button must be clicked
  128. inside the window.)  FLICK also stops when it receives a CTRL/C break
  129. signal, e.g, by typing CTRL/C in the Shell window or by using the
  130. AmigaDOS BREAK command.
  131.  
  132. Keys F1 through F10 can be used to change animation speed as follows:
  133.  
  134.    F1   as fast as possible
  135.    F2   60 frames per second
  136.    F3   30 frames per second
  137.    F4   24 frames per second
  138.    F5   15 frames per second
  139.    F6   12 frames per second
  140.    F7   10 frames per second
  141.    F8   5 frames per second
  142.    F9   1 frame per second
  143.    F10  at the speed specified in the FLI/FLC file
  144.  
  145. The + and - keys can also be used to speed up and slow down an
  146. animation while it is playing.  Each press doubles or halves the
  147. current requested speed.
  148.  
  149. Note: If FLICK cannot run as fast as the requested speed, you may have
  150. to press - several times before you see any slowdown.
  151.  
  152.  
  153. USING EGS LIBRARIES
  154. -------------------
  155.  
  156. FLICK puts up a ScreenMode reqester and expects you to select an EGS
  157. screenmode, if EGS libraries are installed and no overriding options
  158. are given.
  159.  
  160. You can skip the requester by defining the environment variable FLICK
  161. as the name of a valid EGS screenmode, e.g, SETENV FLICK "LEGSa:VGA
  162. 640x480".
  163.  
  164. If you use SETENV FLICK DEFAULT, then FLICK tries to use the default
  165. EGS screen.  However, FLICK requires an 8-bit EGS screen.  FLICK will
  166. fail on a 24-bit EGS screen or anything else.
  167.  
  168. If FLICK fails to open a window on the selected EGS screen, then FLICK
  169. gives up on EGS and falls back to COLOUR, EHB and COLOUR4 in that
  170. order.
  171.  
  172. EGS Speed is dependent on the EGS driver installed.  A GVP Spectrum
  173. card is very fast.  The Amiga AGA driver is very slow.  If your EGS
  174. libraries are installed with the AGA driver, use the COLOUR option or
  175. tooltype to request an Amiga native screenmode.
  176.  
  177. If you have EGS libraries and you want to use an Amiga native mode,
  178. select COLOUR, EHB, COLOUR4 or GREY.
  179.  
  180.  
  181. USING CYBERGRAPHICS AND 3RD-PARTY GRAPHICS CARDS
  182. ------------------------------------------------
  183.  
  184. Use the ROM command-line option or the ROM icon tooltype.  If you
  185. have EGS libraries installed, then use COLOUR as well.
  186.  
  187. When you use ROM, FLICK puts up a ScreenMode requester and renders
  188. using WritePixelArray8().  This also prevents FLICK from using a
  189. custom bitmap.
  190.  
  191. This is known to work well with CyBERgraphics and should also work
  192. with other 3rd-party gfx card systems.
  193.  
  194. The ROM option makes FLICK 100% RTG friendly.
  195.  
  196. Note that CyBERgraphics up to version 40.47 does not yet support
  197. double-buffering with OS3.0 ScreenBuffer functions, and so FLICK ROM
  198. DBUF hangs.  Use CTRL/C in the Shell window or the AmigaDOS BREAK
  199. command to break out.
  200.  
  201.  
  202. OTHER FREELY DISTRIBUTABLE FLI PLAYERS FOR THE AMIGA:
  203. -----------------------------------------------------
  204.  
  205. Other FLI viewers I know about are:
  206.  
  207.     Flit 1.0 by John Bickers.
  208.  
  209.     AmiFlick v1.05 by Garrick Meeker.
  210.  
  211.     Flip 1.66 by Dominik Tonn.
  212.  
  213.     EGSFlick 1.2 by Frank Neumann
  214.  
  215.     FLIplayers 1.5 by Reinhard Haslbeck (shareware).
  216.  
  217.     MainActor 1.55 by MainConcept, GbR Moenig/Zabel (shareware)
  218.  
  219. These should all be available on Aminet or orion.etsu.edu.  Flip v1.66
  220. is often faster than FLICK v1.5, but it requires AGA.  MainActor is a
  221. fully-fledged animation utility which does a lot more than simply
  222. viewing FLI/FLC files.
  223.  
  224.  
  225. WHY IS FLICK SO SLOW?
  226. ---------------------
  227.  
  228. Have you tried the WARP option or pressed F1 yet?  The default is to
  229. play at the speed defined in the anim file, which is often quite slow.
  230.  
  231. Have you got EGS libraries installed with the AGA driver?  That will
  232. be very slow.  Disable EGS (e.g, by moving the EGS monitor icon to
  233. storage and rebooting) or use the COLOUR option or tooltype with
  234. FLICK.
  235.  
  236. What kind of Amiga do you have?  FLICK is significantly faster on
  237. faster Amigas.  Fast memory helps a lot too.
  238.  
  239. What resolution is the FLI/FLC file?  320x200 is up to 5 times faster
  240. than 640x512.
  241.  
  242. The ROM option or tooltype is slow unless you have a graphics card, in
  243. which case it could be extremely fast.
  244.  
  245. EGSFlick 1.2 is often faster than FLICK because EGSFlick decompresses
  246. all the frames into RAM first.  FLICK saves memory by decompressing on
  247. the fly.
  248.  
  249. Well actually I think FLICK is quite fast for what it does.
  250.  
  251. FLI-format is exactly the wrong format for the Amiga.  That is,
  252. everything is stored internally in "chunky" format, but the Amiga has
  253. its graphics video-memory arranged in "planar" format.  All known
  254. algorithms to convert between chunky and planar format are very, very
  255. slow.
  256.  
  257. FLICK incorporates several different c2p algorithms optimised for
  258. different situations.  All the routines are now CPU based.  There are
  259. separate c2p routines optimised for the 68000, 68020, 68040 and Akiko.
  260. All c2p routines attempt to update only parts of the display that
  261. changed since last time.
  262.  
  263. If you manage to improve the algorithms significantly, or find a
  264. faster one, please let me know.
  265.  
  266. In EHB, COLOUR4 and GREY modes, FLICK makes an extra translation for
  267. every pixel.  In EHB and COLOUR4 modes FLICK performs a long
  268. calculation to recompute the translation table every time the colour
  269. map changes.  (Note: FLICK does not recalculate the currently
  270. displayed frame with the new palette, so if the next frame changes
  271. only part of the screen then the part which is unchanged will appear
  272. in the wrong colours.  Fortunately this doesn't happen very often, and
  273. it only happens in EHB and COLOUR4 modes.)
  274.  
  275. If you really want to see a FLI-format or FLC-format file played fast,
  276. convert it to an Amiga anim format first.  The shareware program
  277. MainActor is excellent for that.  Also AmiFlick can write IFF files,
  278. and some of the commercial anim utilities, like ImageFX, can convert
  279. directly from FLI to anim.
  280.  
  281.  
  282. BUGS:
  283. -----
  284.  
  285. Bugs?  What bugs?  Oh well, maybe the following can be construed as bugs:
  286.  
  287. Anims with lots of colour map changes don't play correctly in EHB or GREY.
  288. Can't select multiple files from file requester.
  289. Can't use #? wildcards on commandline.
  290. Stdio output window is ugly.
  291.  
  292.  
  293. THANKS:
  294. -------
  295.  
  296. Thanks to James McCoull for his c2p routines (which I have modified
  297. slightly).
  298.  
  299. Thanks to Patrick van Logchem, Dominik Tonn, John Bickers and others
  300. for suggestions and testing.
  301.  
  302. Thanks to Frank Mariak for information about CyBERgraphics.
  303.  
  304.  
  305. DISCLAIMER:
  306. -----------
  307.  
  308. It seems to work for me.  Tested on:
  309.  
  310.     A3000 + 40MHz Warp engine + GVP Spectrum EGS & CyBERgraphics
  311.     A4000/040
  312.     A500 + Mega Midget Racer
  313.     CD32 + SX-1
  314.  
  315.  
  316. HISTORY:
  317. --------
  318.  
  319. v1.0   19 Dec 1993
  320.  
  321. First release.
  322.  
  323.  
  324. v1.1   27 Jan 1994
  325.  
  326. Fixed some minor bugs (missing "break" statements which fortunately didn't
  327.     do any harm apart from wasting some memory).
  328. Fixed bug where some structures could be left allocated and asl.library
  329.     left open after certain error conditions.
  330. Use V39 Intuition-friendly double-buffering functions when possible.
  331. Added ROM option to use graphics.library WritePixelArray8().
  332. Significantly sped up the chunky2planar routine.
  333. Got FLC-format support working for 640x480 and 480x300 resolutions.
  334. CTRL/C aborts the whole program, not just return to the file requester.
  335. Added 68040-optimised c2p routine.
  336. Added COLOUR4 mode.
  337. Compiled with SAS/C 6.51.
  338.  
  339.  
  340. v1.2   19 Feb 1994
  341.  
  342. Fixed bug where mode did not fall back to COLOUR4 for FLC files on ECS
  343.     Amigas.
  344. Worked around SAS/C 6.51 bug in fseek/fread that caused some disk
  345.     anims to fail.
  346. Disk-play now reads a frame at a time instead of a chunk at a time.
  347. Improved c2p routine for Chip-only machines by eliminating a mem copy.
  348. Fixed bug where dbuf messages weren't replied to after strange error
  349.     conditions.
  350. Added support for FLI/FLC files of any resolution.
  351. Wrote a much faster routine for when only part of the display changes
  352.     each frame (and made it the default).  This sped up many anims
  353.     by a factor of 2 or more.
  354. Added NOCOMPARE and NODBUF options.
  355.  
  356.  
  357. v1.3    4 Jan 1995
  358.  
  359. Changes almost too numerous to list.
  360. Replaced all c2p routines with new, much faster, OCS-friendly ones.
  361. Removed NOCOMPARE option, no longer uses blitter at all.
  362. Added support for EGS libraries, run in a window.
  363. Added + and - keyboard controls.
  364. Default is now single-buffered instead of double-buffered.
  365. Added exact-speed feature and WARP option.
  366. Right-mouse button quits.
  367. Auto-detect and use Akiko chip.
  368. Rewrote some of the chunk decoding routines in assembly.
  369. Added tooltype support.
  370. Greatly sped up code for ROM option.
  371. For ROM option, allocate bitmap in more system friendly way for gfx cards.
  372. Major code restructuring in general.
  373.  
  374.  
  375. v1.4    5 Jan 1995
  376.  
  377. Fixed bug which sometimes caused crashes when double-buffering.
  378. Fixed bug which caused corrupted displays with Akiko and depth < 8.
  379. Added NOAKIKO option (handy for comparing speeds on a CD32).
  380.  
  381.  
  382. v1.5    21 May 1995
  383.  
  384. Added ScreenMode requester when ROM option is used.
  385. Added ScreenMode requester when EGS libraries are used.
  386. Fixed bug that caused FLICK to fail with CyBERgraphics.
  387. Trap CTRL/C in Wait() for safeport and dispport when double-buffering.
  388.